The present invention is directed toward a system and method for encoding textured, three dimensional models of objects. In particular, it relates to a system and method for adjusting encoding of textures in the textured, three dimensional model in order to achieve objectives as to model size.
The creation of high quality three dimensional models is generally done in two phases. First, a high quality “reference version” of the three dimensional model is created. Various techniques, such as utilization of CAD programs, laser scanning of real objects and analysis of photographs, are used to create the reference version. This reference version typically does not place particular constraints on the size of the model or the resulting file size. Thus, the reference model is created with the objective of best representing the actual object to which the model applies. Second, the textures and geometry of the reverence version of the model are reduced in quality, in order to create a model within a particular file size budget or constraint.
A size budget is generally determined by external influences, such as a maximum tolerable download time or the amount of available memory in the rendering environment. The faster the required download time, the smaller the size budget must be. Of course, as quality is reduced, to achieve a smaller size budget, the appearance of the rendered model is less representative of the original object. A need exists for a process and system for balancing the inherent tradeoffs between the size and quality aspects images.
Most image manipulation software packages include a tool, often referred to by skilled artisans as the “Save for Web” feature, that allows a user to balance the tradeoffs between image quality and size or download speed. Such standard tools operate on a single image at a time. Many users desire to perform quality balancing on many images simultaneously. Therefore, a need exists for a system and process for balancing the tradeoffs between the size and quality aspects of multiple images simultaneous.
Furthermore, a three dimensional model is formed of a number of images representing textures for different portions of the model. Using a single quality setting for compressing all of the images simultaneously will often give undesirable results. It is often the case that some images are more important in a particular model. If, for example, a user desires to create a three dimensional model of a radio, she may determine that retaining detail for the display area is important, while details of the sides of the radio could be dispensable. Therefore, a need exists for a system and process which allows a user to use different quality settings for different images in a model. Furthermore, a need exists for a system and process which allows a user to see how adjustments in the scale or quality of one image impact the quality of the other images when constrained to a constant size budget.